﻿$(function () {
    // a workaround for a flaw in the demo system (http://dev.jqueryui.com/ticket/4375), ignore!
    $("#dialog:ui-dialog").dialog("destroy");

    $("#dialog-modal-procesando").dialog({
        height: 140,
        autoOpen: false,
        modal: true
    });
});

$(function () {
    // a workaround for a flaw in the demo system (http://dev.jqueryui.com/ticket/4375), ignore!
    $("#dialog:ui-dialog").dialog("destroy");

    $("#dialog-modal-archivosubido").dialog({
        modal: true,
        autoOpen: false,
        buttons: {
            Ok: function () {
                $(this).dialog("close");
                location.reload();
            }
        }
    });
});

$(function () {
    // a workaround for a flaw in the demo system (http://dev.jqueryui.com/ticket/4375), ignore!
    $("#dialog:ui-dialog").dialog("destroy");

    $("#dialog-search-product").dialog({
        height: 500,
        width: 'auto',
        modal: true,
        autoOpen: false
//        ,buttons: {
//            Ok: function () {
//                $(this).dialog("close");
//                //seleccionar el producto
//                //location.reload();
//            }
//        }
    });
});

// Boton agregar nuevo producto
function agregarProducto(grid) {

    $("#dialog-search-product-results").addClass("ocultar");
    $("#dialog-search-product-results").removeClass("mostrar");
    $("#dialog-search-product").dialog("open");

}

function addNewProduct(id, ProductoIdExterno, ProductoNombre, colorid, colorNombre, calidadid, calidad) {
    $("#dialog-search-product").dialog("close");

    var product =
    {
        Id: id,
        ProductoIdExterno: ProductoIdExterno,
        ProductoNombre: ProductoNombre,
        ColorId: colorid,
        ColorNombre: colorNombre,
        CalidadId: calidadid,
        Calidad: calidad
    };

    window.planProdCtrl.AddNewRowProduct(product);

    if (document.DirtyCheck) {
        document.DirtyCheck.forceDirty();
    }
}

// Boton de buscar producto, que mediante ajax trae el listado de productos
function searchProduct() {
    var searchCodigoProducto = $("#txtSearchCodigoProducto").val();
    var searchDescripcionProducto = $('#txtSearchDescripcion').val();
    var presupuestoProdId = $('#txtPresupuestoId').val();
    var temporadaId = $('#hidTemporadaId').val();

    var Proxy = new serviceProxy("/Svc/Planning.svc/");

    if (window.AppCommonObj) {
        AppCommonObj.Guardando = true;
    }

    Proxy.invoke("SearchProduct", { codigoProducto: searchCodigoProducto, descripcionProducto: searchDescripcionProducto, presupuestoProduccionId: presupuestoProdId, temporadaId: temporadaId },
    function (result) {

        if (window.AppCommonObj) {
            AppCommonObj.Guardando = false;
        }

        $("#dialog-search-product-results").removeClass("ocultar");
        $("#dialog-search-product-results").addClass("mostrar");
        var html = "<div class='productResult'>";

        var par;
        for (i = 0; i < result.length; i++) {

            par = i % 2 == 0;
            var clase = par ? 'filaPar' : 'filaImpar';
            html += "<div class='" + clase + "' ><a class='lnkProduct' href=\"javascript:addNewProduct('" + result[i].Id + "','" + result[i].ProductoIdExterno + "','" + result[i].ProductoNombre + "','" + result[i].ColorIdExterno + "','" + result[i].ColorNombreExterno + "','" + result[i].CalidadId + "','" + result[i].Calidad + "');\" >" + result[i].ProductoIdExterno + result[i].ColorIdExterno + " - " + result[i].ProductoNombre + " - " + result[i].ColorNombreExterno + " - " + result[i].Calidad + "</a></div>";
        }

        html += "</div>";

        $("#dialog-search-product-results").html(html);
    },
    onPageError);

  
}

// Si la llamada ajax falla, muestra el siguiente error
function onPageError(A, B, C) {
    if (window.AppCommonObj) {
        AppCommonObj.Guardando = false;
    }

    alert("todo: show error: " + C);
}


function guardarCantidades() {

    if (window.AppCommonObj) {
        AppCommonObj.Guardando = true;
    }
    
    var presupuestoId = document.getElementById('txtPresupuestoId').value;
    window.planProdCtrl.SaveChanges(presupuestoId);
}


function registerHandleForActualizarTotal() {

    window.planProdCtrl.RegisterChangeTotal(function (total) {
        $('#txtTotalPresupuesto').val(total);

        // Marco Dirty la pagina
        if (window.AppCommonObj) {
            AppCommonObj.setDirty(true);
        }

    });

}
